#!/bin/sh -e

# Enable streaming related options if gstreamer is installed.
kiss l gst-plugins-base && streaming=ON

# Enable the use of openjpeg if the package is installed.
kiss l openjpeg2 && jpeg=ON

# Enable WEB_CRYPTO if libtasn1 is installed.
kiss l libtasn1 && tasn=ON

patch -p1 < fix-musl.patch

# Remove gettext requirement.
sed -i 's/ngettext/printf/g' Tools/MiniBrowser/gtk/BrowserDownloadsBar.c
sed -i '/po_files \*\.po/d'  Source/WebCore/platform/gtk/po/CMakeLists.txt
sed -i '/^GETTEXT_C/d'       Source/WebCore/platform/gtk/po/CMakeLists.txt

# Fix clang build.
sed -i '/LC_ALL/d'       Source/JavaScriptCore/jsc.cpp
sed -i '/WTFLogAlways/d' Source/JavaScriptCore/jsc.cpp

# Fix icu 68_1.
printf 'add_compile_definitions("U_DEFINE_FALSE_AND_TRUE=1")\n' \
    >> Source/WTF/wtf/CMakeLists.txt

export DESTDIR="$1"

cmake -B build \
    -DCMAKE_BUILD_TYPE=MinSizeRel \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DLIB_INSTALL_DIR=/usr/lib \
    -DPORT=GTK \
    -DCMAKE_SKIP_RPATH=ON \
    -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
    -DENABLE_SAMPLING_PROFILER=OFF \
    -DENABLE_GEOLOCATION=OFF \
    -DENABLE_GLES2=ON \
    -DENABLE_INTL=OFF \
    -DENABLE_INTROSPECTION=OFF \
    -DENABLE_MINIBROWSER=OFF \
    -DENABLE_OPENGL=OFF \
    -DENABLE_SPELLCHECK=OFF \
    -DENABLE_VIDEO=${streaming:-OFF} \
    -DENABLE_WEBGL=OFF \
    -DENABLE_WEB_AUDIO=${streaming:-OFF} \
    -DUSE_LIBHYPHEN=OFF \
    -DUSE_LIBNOTIFY=OFF \
    -DUSE_LIBSECRET=OFF \
    -DUSE_OPENJPEG=${jpeg:-OFF} \
    -DUSE_SYSTEMD=OFF \
    -DUSE_WOFF2=OFF \
    -DUSE_WPE_RENDERER=OFF \
    -DENABLE_WEB_CRYPTO=${tasn:-OFF} \
    -DENABLE_MEDIASOURCE=${streaming:-OFF} \
    -Wno-dev

cmake --build   build
cmake --install build
